package edu.kaifadui.lmbase.service;

import edu.kaifadui.lmbase.pojo.Student;
import com.baomidou.mybatisplus.extension.service.IService;
import edu.kaifadui.lmbase.vo.*;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 陈世杰
 * @since 2022-02-22
 */
public interface StudentService extends IService<Student> {

    /**
     * 删除学生信息,这里采取逻辑删除
     * 需要填写邮箱验证码
     *
     * @param idCode
     * @return
     */
    Result deleteStudent(IdCode idCode);

    /**
     * 获取学生除了密码的所有信息
     * 需要权限码,权限码自动生成
     *
     * @param idCode
     * @return
     */
    Result getStudentAllInfoById(IdCode idCode);

    /**
     * 获取学生联系方式
     *
     * @param idCode
     * @return
     */
    Result getStudentContactWay(IdCode idCode);

    /**
     * 检验密码是否正确
     * 返回一个除了密码的该用户的所有信息
     *
     * @param login
     * @return
     */
    Result checkIsUser(Login login);

    /**
     * 绑定邮箱
     * @param bandEmail
     * @return
     */
    Result bandEmail(BandEmail bandEmail);

    /**
     * 修改密码
     * @param login
     * @return
     */
    Result modifyPassword(Login login);

    /**
     * 选择性别
     *
     * @param gender
     * @return
     */
    Result modifyGender(ChangeGender gender);
}
